DQL Strict Mode
DQL_STRICT_MODE=false
), Ditto is more flexible and will infer the CRDT type based on the document’s shape:Differ
API for calculating diffs between query results.
This API can be used with a store observer to understand how its results change
over successive callbacks. The Differ
API provides a way to track changes in
the data and can be used to optimize data synchronization and conflict resolution.Differ API documentation.Feature | Description | Example |
---|---|---|
UNSET clause | Remove fields from documents | UPDATE orders UNSET items.abc WHERE _id = 'my-id' |
CAST function | Explicitly convert between data types | SELECT * FROM products WHERE CAST(price AS INT) > 10 |
USE IDS clause | Direct document retrieval by ID | SELECT * FROM products USE IDS ['123', '456'] |
SIMILAR TO | Pattern matching expressions | SELECT * FROM products WHERE name SIMILAR TO '%phone%' |
Runtime expressions | Use expressions in object/array construction | UPDATE products SET metadata = { 'updated_at': current_timestamp() } |
Counters | Support for legacy compatible counter type | UPDATE products APPLY in_stock PN_INCREMENT BY 1.0 |
->
) are deprecated.DELETE
to remove documents.Added
DQL_STRICT_MODE
as a system parameter to opt-out of requiring collection definitions (#16573)Changed
Fixed
Removed
network_use_nextgen_multihop_stack
(#16370)Performance
transaction()
on DittoStore
allowing a DQL transaction to be performed (#13343) Added: Transaction
representing an active DQL transaction. (#13343) Added: TransactionCompletionAction
represents an action to be taken upon the completion of a transaction: commit or rollback (#13343) Added: TransactionInfo
encapsulates information about a transaction (#13343) Added: TransactionOptions
for configuring options on a transaction (#13343) Added: TransactionReadOnlyError
exception thrown if a mutating DQL query is attempted in a read-only transaction. (#13343) Added: An opt-in Android foreground service which allows Ditto to sync in the background. (#16097) Added: login()
method to ditto::Authenticator
that provides access to authentication feedback on the returned clientInfo JSON value (#SDKS-874) Deprecated: Method login_with_token()
for ditto::Authenticator
. Use login()
instead. (#SDKS-874) Added: class Differ
, which calculates diffs between query results. This can be used with a store observer to understand how its results change over successive callbacks. (#SDKS-985) Added: struct Diff
to represent diffs produced by the Differ
. (#SDKS-985) Changed: Unify dedicated TCP servers across different transports (Multicast, mDNS, and WiFi Aware) by utilizing a single static TCP server implementation (#TRANS-131)